-
-
Notifications
You must be signed in to change notification settings - Fork 33.9k
GH-143941: Move WASI-related files to Platforms/WASI #143942
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Along the way, leave a deprecated Tools/wasm/wasi/__main__.py behind for backwards-compatibility.
zware
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with a CODEOWNERS nit and a future archaeology suggestion. Note that I didn't really actually review any changes in __main__.py since it's completely recreated.
|
|
||
| if __name__ == "__main__": | ||
| main() | ||
| runpy.run_path(checkout / "Platforms" / "WASI", run_name="__main__") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For nicer history, it might be better to just do the full rename in this PR and follow it up with adding the new redirect here.
I'll suppress my rant about only allowing squash merges :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But if I just did a rename it would break the buildbots and leave the repo after this commit in a somewhat broken state for anyone else building.
Co-authored-by: Zachary Ware <[email protected]>
StanFromIreland
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please update:
cpython/Tools/build/compute-changes.py
Line 53 in bb25f72
| WASI_DIRS = frozenset({Path("Tools", "wasm")}) |
| Move WASI-related files to Platforms/WASI. Along the way, leave a deprecated | ||
| Tools/wasm/wasi/__main__.py behind for backwards-compatibility. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Move WASI-related files to Platforms/WASI. Along the way, leave a deprecated | |
| Tools/wasm/wasi/__main__.py behind for backwards-compatibility. | |
| Move WASI-related files to :file:`Platforms/WASI`. Along the way, leave a deprecated | |
| :file:`Tools/wasm/wasi/__main__.py` behind for backwards-compatibility. |
|
|
||
| LOCAL_SETUP = CHECKOUT / "Modules" / "Setup.local" | ||
| LOCAL_SETUP_MARKER = ( | ||
| b"# Generated by Tools/wasm/wasi .\n" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this not be updated?
freakboy3742
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This set of changes all makes sense to me.
The only concern I have is related to the integration with buildbots. As a result of this change, the buildbot will be invoking the deprecated entry point. That's fine for initial continuity of compatibility, but it strikes me as fragile in the long term.
However, AIUI, the buildbot doesn't have the ability to be configured for PR configurations on a per-branch basis (i.e., it's not possible to do a PR build with knowledge that it's a PR against a 3.X branch, and adjust rules accordingly). That means:
- it's not possible to fully deprecate the old endpoint until the oldest supported Python version has the new entry point
- it's not possible to use any new feature of the entry point until such time as the old entry point has been deprecated.
The second point in particular is currently causing headaches for me with both Emscripten and iOS builds.
This doesn't have to block margin this PR; but this is a limitation that we'll need to address sooner rather than later, especially if we're planning to do this sort of migration for the Android, iOS, Apple and Tools/wasm/emscripten folders.
Along the way, leave a deprecated Tools/wasm/wasi/main.py behind for backwards-compatibility.
Platforms/WASI#143941